#include "VStdAfx.h"
#include "VMaterialParamter.h"

#if 0

VMaterialParameter* VMaterialParameter::CreateParamter(EVMaterialParamType ParamType)
{
	if (ParamType == VMPT_CHECK)
	{
		return VNew VMaterialParameterCheck;
	}

	return NULL;
}

BOOL VMaterialParameter::Load(const VXMLElement* XElement) 
{ 
	const char* sName = XElement->Attribute("Name");
	m_ParamName = sName;
	return TRUE;
}

BOOL VMaterialParameter::Save(const VXMLElement* XElement) const 
{ 
	return TRUE;
}

int VMaterialParameter::Compare(const VMaterialParameter* Other) const
{
	// Check Type
	EVMaterialParamType MyType = Type();
	EVMaterialParamType OtherType = Other->Type();
	if (MyType < OtherType)
	{
		return -1;
	}else if (MyType > OtherType)
	{
		return 1;
	}


	// Check Name
	if (m_ParamName < Other->m_ParamName)
	{
		return -1;
	}else if (m_ParamName > Other->m_ParamName)
	{
		return 1;
	}

	return CompareValue(Other);
}

int VMaterialParameter::CompareValue(const VMaterialParameter* Other) const
{
	return 0;
}
//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
BOOL VMaterialParameterCheck::Load(const VXMLElement* XElement) 
{ 
	if (!VMaterialParameter::Load(XElement))
	{
		return FALSE;
	}

	// 
	m_Value = (BOOL)XElement->IntAttribute("Value");

	return TRUE;
}

BOOL VMaterialParameterCheck::Save(const VXMLElement* XElement) const 
{ 
	return TRUE;
}
#endif 